perm filename NOTICE[UP,DOC]9 blob
sn#024271 filedate 1973-02-04 generic text, type T, neo UTF8
00100 *25 Feb 1972 NOTICEs LES
00200
00300 This file, kept in NOTICE[UP,DOC], is intended to function as a
00400 computerized bulletin board. System programmers and CUSP file
00500 contributors are invited to disseminate information concerning new
00600 programs and system features by adding notices to this file. The
00700 format is arbitrary, except that the first line (and only the first
00800 line) should begin with a "*" and should contain three fields in the
00900 form
01000 *<date><TAB><subject><TAB><programmer initials>
01100 In the date field, the year, month and day may be given in any order
01200 and the year may be abbreviated to 2 digits, but the month must be
01300 given as 3 or more letters.
01400
01500 *9 Jan 1973 NEWS LES
01600 To get selective listings from the NOTICE file, say "R NEWS", which
01700 will respond with an asterisk and expect a query such as
01800 *March 15
01900 This asks for all notices posted since the ides of March. If the day
02000 is omitted, 1 is assumed; if the month is omitted, January is
02100 assumed; if the year is omitted (as above) the last instance is
02200 assumed.
02300
02400 *Nov<TAB>SAIL
02500 is an example of a more general kind if query. This asks for all
02600 notices since last November 1 that contain the string "SAIL"
02700 somewhere in the subject field, with any case differences ignored.
02800 The search could be made more specific by saying
02900 *NOV<TAB>SAIL<TAB>DCS
03000 which delivers only such notices written by Dan Swinehart.
03100
03200 If the query begins with a <TAB>, so that the date is omitted, then
03300 all dates will be accepted. Similarly, the Subject field may be
03400 omitted. A null query outputs the entire NOTICE file.
03500
03600 If you would like the output to be spooled, type "*" at the end of
03700 your query, e. g.
03800 *July 4, 1776 Sex*
03900 If you would like to see title lines only, put a "-" at the end. You
04000 can use both "*" and "-" together in either order.
04100
04200 If you forget all this, type "?<return>" and this notice will appear
04300 magically.
04400
04500 *1 JAN 1972 DO RPH
04600 Manual is in DO.RPH[S,DOC].
04700
04800 *1 JAN 1972 DMAN REG
04900 Dectape manager (PDP-10 format) -- see DMAN.REG[S,DOC].
05000
05100 *1 JAN 1972 SPOOLER REG
05200 See SPOOL.DOC[S,DOC].
05300
05400 *1 JAN 1972 RSL SL WHAMS BAMS ETC JHS
05500 Service Level Reservation System -- see RSL[S,DOC]
05600
05700
05800 *1 JAN 1972 Keyboard Commands LES
05900 To get a summary of line editor and other Monitor commands, list
06000 KEY.LES[S,DOC).
06100
06200 *1 FEB 1972 INFO REM
06300
06400 To have access to the REM information system, type "RU I[S,REM]".
06500
06600 *1 Jan 1972 FINGER LES
06700
06800 To get a listing of the names of all users currently logged in and
06900 their locations, say "R FINGER".
07000
07100 *29 Feb 1972 "Sticky PPN's" (RPG, COMPILE) DCS
07200
07300 A PPN specification [P,PN] appearing before a file name in an
07400 RPG command string will be used for all subsequent files which
07500 do not specify a PPN explicitly. This default remains in effect
07600 until another "sticky PPN" is specified.
07700 As an example, if I am running under [AIL,DCS]:
07800
07900 COMPILE SAIL=HEAD+DB+[S,AIL]SAIL+SYM+PARSE+PROD[AIL,DCS]+EXPR
08000
08100 would write the output on [AIL,DCS], get HEAD,DB, and PROD from
08200 [AIL,DCS], and get SAIL, SYM, PARSE, and EXPR from [S,AIL].
08300
08400 *1 Jan 1972 SAIL Statement Counter Profile RES
08500
08600 To find out how to get SAIL to give you execution frequency data for
08700 pieces of your program, list NEWMAN[S,AIL].
08800
08900 *2 Mar 1972 CREF Default Listing Device DCS
09000
09100 The CREF default listing device has been changed from LPT to DSK.
09200 This change is not made in RPG mode (so that the CREF system
09300 command will still go directly to LPT).
09400
09500 *14 Mar 1972 TV "." and <esc>I Features DCS
09600
09700 Typing "⊗." (see TVED.DCS[UP,DOC] for notation) will cause the current
09800 page to become a permanent part of the file (like "W" in SOS). CANCEL
09900 will henceforth bring back this version, not the old one.
10000
10100 To interrupt a "FIND" search prematurely, type <esc>I. This replaces
10200 the "\<crlf>" method.
10300
10400 *23 Mar 1972 TV for III DCS
10500 The TV editor (though still officially unsupported) will now run on
10600 both Data-Disk and III. In fact, you can transfer (by detach/attach)
10700 from one to the other in mid-edit!
10800
10900 *30 APR 72 SEND RPH
11000 SEND NOW HAS THE FOLLOWING FORMATS:
11100
11200 SEND PN SEND TO ALL PN'S
11300 SEND * WRITE NOTICE.TXT
11400 SEND *,PN SAME AS SEND PN
11500 SEND P,* SEND TO ALL P'S
11600 SEND P,PN SEND TO SPECIFIC P,PN
11700 SEND *,* SAME AS SEND *
11800 A PN IS SOME PROGRAMMER NAME
11900 A P IS SOME PROJECT NAME
12000
12100 *30 APR 72 FAIL FW
12200 The double arrow character is no longer treated specially
12300 within the comment portion of a line. When not within a
12400 comment, it is equivalent to a carriage-return, line-feed
12500 pair. Now, within comments, it prints as itself.
12600
12700 *3 JUN 1972 RAID DCS
12800 A new version of RAID is on the system. Since it is compatible with
12900 both Data-Disc and III consoles, I have put it on SYS: as both
13000 RAID.REL and TVRAID.REL. Therefore /V, /1V, /H, /1H will all load
13100 the same program. Later, TVRAID will be phased out (of LOADER, RPG)
13200 and the numeric argument to H and V switches will be ignored.
13300 This version has been tested fairly carefully. But report any
13400 problems you have to DCS, anyway. The old files are saved as
13500 RAID.RLO and TVRAID.RLO on [CSP,SYS].
13600
13700 The following things have been changed:
13800 __ There are a few display changes; in particular, the arrow
13900 conventions of the Data-Disc RAID are now used everywhere.
14000 __ Byte mode input will be displayed in byte mode.
14100 __ Conditional breakpoints now work exactly as advertised.
14200 __ Symbol←Expr, Symbol:, and Symbol<ctrl>K now work properly.
14300 __ All opcodes work on input (incl. ANDCAM, ORCAB, etc.)
14400
14500 The following new features have been added:
14600 __ There are three new entries to the dispatch table preceding
14700 DDT (JOBDDT → DDT) -- see RAID.ON[S,DOC] for the meaning of
14800 this table. The three are:
14900 DDT-12: →$RPTCNT See below
15000 DDT-11: →$BGDDT First word of DDT
15100 DDT-10: →DDTEND Last word of DDT
15200
15300 __ This is "Version 1" of RAID. The version is henceforth stored
15400 in the leftmost 13 bits of JOBDDT. Since DDT and old RAID
15500 contain 0 here, you can tell which you have loaded. This is for
15600 the benefit of programs which use new features -- they can
15700 try alternate methods if the Version isn't high enough.
15800 __ If you insert a JSR $I in your program, you will effectively
15900 place a breakpoint at that location. You can proceed via <ctrl>P.
16000 DO NOT single-step or set a breakpoint on this instruction!
16100 $I is an INTERNAL symbol in RAID. There is a pointer to it at
16200 DDT-6.
16300 __ When you type <call>DDT<cr>, RAID will simulate a breakpoint at
16400 the address specified by JOBOPC. You can proceed with <ctrl>P.
16500 Do not expect this to work if you enter DDT before running anything,
16600 or if your program jumps to DDT (unless it stores a reasonable
16700 address in JOBOPC first).
16800 __ n<ctrl><meta>S, where n is a number, will execute instructions
16900 in multi-step mode, as it would if n were absent. However, no
17000 change will be made in the display until:
17100 1) n instructions have been executed (<ctrl>X'ed subr =1 instr.)
17200 2) RAID must pause to get instructions at a subroutine call.
17300 3) You interrupt the stepping by typing something, or a
17400 breakpoint is encountered.
17500 After you respond at a type (2) pause, again the display remains
17600 unchanged until one of the conditions occurs again. If you
17700 responded <ctrl>S or <ctrl>X to the pause, the count will be
17800 exhausted before the display changes again -- barring type (3)
17900 events. The remaining count, if any, is always available in
18000 $RPTCNT. This is useful for counting exact numbers of
18100 executions in a given routine, etc.
18200 __ Symbol<meta>K obliterates the Symbol. Unlike <ctrl>K, which
18300 simply eliminates typout of the symbol, this also makes it
18400 undefined for typein. If, for instance, you have two locations
18500 with the name NM1, do:
18600 NM2←NM1 Assigns a new name to one of them.
18700 NM1<meta>K Deletes this symbol completely.
18800 NM1; Reveals value of the other NM1. Now
18900 NM2 refers to the first.
19000 __ Macros:
19100 Address<ctrl>M<letter> defines <ctrl><meta><letter> as
19200 a macro. When the macro is invoked, Address (it can be just
19300 an address or a byte pointer value) will be put in $M-1 (see
19400 RAID.ON[S,DOC]. This has the effect of evaluating the string
19500 at Address before evaluating any more keyboard input -- expanding
19600 the macro. Be warned that many <ctrl><meta><letter> combinations
19700 already mean something -- use one you can do without (the macro
19800 takes precedence).
19900 *4 JUN 1972 NEW DISPLAY EDITOR SRS
20000
20100 there now exists a new display editor, called ED, available for
20200 experimentation. to run it, type
20300 RU ED[S,SRS]
20400 when it starts up, there will be some documentation on the screen.
20500 ED is presently experimental, and improving. Features
20600 include: editing several files at once, splitting screen between
20700 several files or strings, faster than TV in some cases.
20800
20900 *6 JUN 1972 PUB MANUAL TES
21000
21100 A new version of PUB was put up today with some obscure bugs fixed.
21200 Indexes and headings now work well. AFTER PAGE does not always
21300 work, but AFTER TEXT is usually equivalent and does work.
21400 If you must use old version, please tell me why! To use it, log in
21500 as 12,TES and RUN PUB.
21600
21700 There is a new manual: SPOOL PUB.TES[S,DOC]/N/B It is 80 PAGES long, so
21800 if you don't plan to use PUB for a few months, it is advisable to
21900 wait for the SAILON to be printed. The new manual has an index
22000 and a tutorial for beginners, plus appendices with (untested) examples.
22100 To use PUB for simple purposes, only a portion of the manual needs to be
22200 read.
22300
22400 *MAR 1972 LOGOUT REG
22500 Recent changes to logout command.
22600
22700 The logout command is used to terminate a job that was created
22800 by Login, Fork, or Cfork commands. The usual form of the command is
22900 K or KJOB, typed at monitor level, followed by a carriage return.
23000
23100 A new command is called KAT, which combines the features of the
23200 K command and the ATtach command. KAT requires the job number of the
23300 job to which you want to attach. As in the Attach command, if you
23400 are attaching to a job with a different PPN than the job you are leaving,
23500 you must supply the ppn of the job to which you are attaching.
23600
23700 Command Formats
23800 Note that curly backets { and } denote optional
23900 arguments; pointy brackets < and > denote a symbolic item which should
24000 be replaced by some concrete instantiation of that item.
24100
24200 K or KJOB command:
24300
24400 K{JOB}{/<switch list>}
24500
24600 KA{TTACH} <job number> {[<project name>,<programmer name>{]}}{/<switch list>}
24700
24800 Each command line is terminated by a carriage return.
24900
25000 The item <switch list> consists of any sequence of letters
25100 chosen from the list below:
25200 THIS LIST HAS BEEN OMITTED BECAUSE I FORGOT THEM ALL.
25300
25400 For further confusion, consult R. Gorin.
25500 *1969 DDT WFW
25600 The following changes have been made to DDT:
25700
25800 l. Halfword printout is now of the form A,,B instead
25900 of (A)B. Either form may be used on input. The difference
26000 is that A,,B truncates A to 18 bits before
26100 swapping halves while (A)B does not.
26200
26300 2. $U is a new output mode. It is the same as $A$H.
26400 3. $F mode will now print normalized floating permit
26500 numbers as decimal integers. This means that
26600 FORTRAN users may, in general, use $F to look at
26700 all variables and they will be printed correctly
26800 either fixed or floating.
26900
27000 4. If the address of a string of ASCIZ text is placed
27100 in $nB+3, then whenever breakpoint n is reached,
27200 DDT will act as if the characters in the string were
27300 being read from the teletype. If you are preparing
27400 such a string in advance use either $ or ≠ (≠33 octal)
27500 for altmode.
27600
27700 5. If a bytepointer to an asciz string is placed in
27800 $M-l, DDT will act as if the characters in the string
27900 are being read from the teletype.
28000
28100 6. $$7" <delimiter> characters <delimiter> will act just
28200 like an asciz statement in MACRO or FAIL,i.e.,
28300 more than one word will be filled with asciz for
28400 the characters if necessary. $$" will have a similar
28500 effect but with sixbit.
28600
28700 7. Typing <number>$$P will cause DDT to do an automatic
28800 proceed <number> times instead of forever.
28900
29000 8. When printing in $$ mode, no word will be printed
29100 out as an I/O instruction (COND, DATAO, CONI, etc.)
29200 unless the device number is in a special table. The
29300 table is 10 words long and is in $I-1, $I-2, etc.
29400 Simply put device number here to have the appropriate I/O
29500 instructions printed.
29600
29700 9. If an address is placed in $M-2 then for each character
29800 DDT wishes to output, a pushj 1,@$M-2 will be executed.
29900 This allows output to be redirected to some device
30000 other than the TTY. The character is in register 5. The
30100 routine should preserve all AC's and end with a POPJ l,.
30200
30300 10. In byte mode output ($<number>0), if a size of 0
30400 is specified, DDT will use a special mark in $M+2.
30500 The boundry between 1 and 0 bits specifies the size
30600 of the bytes. For example, a word containing
30700
30800 11111111111 00000000000 11100010110001
30900
31000 would print 2 . 11 bit bytes, 2 3 bit bytes, 2 1 bit
31100 bytes, a 2 bit bytes, a 3 bit byte, and a 1 bit byte.
31200
31300 11. Bytes may be input of $<number>%. This should be
31400 followed by a string of unsigned octal numbers
31500 separated by common and terminated by an altmode. The
31600 number of bytes in a word is not integal the last
31700 byte is treated as if the word were larger
31800 (bit number greater than 35). This makes input compatible
31900 with output. A size of O uses the mark in $M+2
32000 as above.
32100
32200 12. It is now possible to print flag words and T type
32300 instruction (TRUN, TLNN, etc.) with suitable names
32400 for the bit involved. In $M+3 a pointer of the following
32500 form is placed:
32600
32700 _______
32800 | |
32900 _______ | |
33000 $M+3 | L1 | T0 | | Table 0 |
33100 | |
33200 _______
33300
33400
33500 _______
33600 | |
33700 | Table 1 |
33800 | |
33900 _______
34000
34100 _______
34200 | |
34300 | Table 2 |
34400 | |
34500 _______
34600 As many tables as desired may be included. The pointer
34700 to the last table should have 0 in the left half. Each
34800 table contains 36 words. The nth word contains the
34900 RADIX50 for the name of bit n. $<number>J mode will
35000 cause a word to be printed out using the bit names in
35100 table number. If an entry for a bit in 0, the numeric
35200 value will be printed. A typical word might look like
35300
35400 foo! baz! 123,, fool! garp! 2
35500
35600 $J means $0J. $nL causes the left half to be
35700 printed in symbolic and the right half to be printed in
35800 ↑STODAT:
35900 bit mode, using the names of the bits as if they appeared
36000 in the left half. $<number>V prints the left half in symbolic
36100 and the right half in bit mode.
36200
36300 13. You can now transfer to what is pointed to by the left half
36400 of a word in the same manner as you transfer using <tab>.
36500 The command is <control>].
36600
36700 *FEB 1972 NEW WHO DCS
36800 As of 12-9-71:
36900
37000 1. WHO will run for about two minutes, then quit. You can reset
37100 this time by issuing commands (see below).
37200
37300 2. Typing <call> does not stop spacewar jobs. However, after about
37400 6 seconds of operation after a <call>, the spacewar portion of
37500 WHO will bomb out (PC EXCEEDS MEM BOUNDS AT 377777). This will
37600 be made cleaner if the system types give me some help.
37700
37800 3. WHO commands are now single-character commands. WHO will not wait
37900 for a carriage return before executing one.
38000
38100 4. Previously, many lines of the WHO page were lost below the bottom
38200 of the screen. WHO now provides a "windowing" feature. Type "↑"
38300 to move the text up, so that the line which did appear at the
38400 center of the screen now appears at the top. This reveals several
38500 new lines at the bottom. A digit preceding the "↑" serves as a
38600 repeat factor.
38700
38800 5. The "↓" command, with optional repeat factor, moves the text down
38900 by a half-screenful, unless the first line already is displayed.
39000
39100 6. The "E" command causes WHO to quit. However, the last-drawn screen
39200 will not be cleared. So you can look at it.
39300
39400 7. Any other character will cause WHO to clear the screen (revealing
39500 your old page printer), then quit.
39600 *14 June 1972 VIDEO SWITCH DOCUMENTATION LES
39700 A SAILON describing the video switch hardware resides in
39800 VDS.LES[S,DOC]. A description of keyboard commands and monitor calls
39900 for controlling the switch and DD channel allocation are described in
40000 VIDEO.LES[UP,DOC]. To get a summary of the keyboard commands, say
40100 "HELP DISPLAY" or "SPOOL KEY.LES[UP,DOC]".
40200
40300 *7 July 1972 DOCUMENTATION FILES LES
40400 Online documentation files are divided into several areas, as follows.
40500 [P,DOC] contains the compiled version of the lab phone
40600 directory and other lists of people.
40700 [UP,DOC] contains user program descriptions (informal).
40800 [S,DOC] contains SAILONs, which are more formal descriptions
40900 of programs and hardware.
41000 [AIM,DOC] contains A. I. Memos, which report research results.
41100 [BIB,DOC] contains bibliographies of films, theses, SAILONs, etc.
41200
41300 *23 JULY 1972 KLOG RHT
41400 The KLOG command allows you to switch areas in one line. Semantically
41500 it is LOGOUT, followed by LOGIN. The syntax is:
41600
41700 KLOG {/<logout switch>} {ppn spec (as you would type to LOGIN)}
41800
41900 examples
42000
42100 KLOG 1/RHT
42200
42300 KL/F 1|RHT
42400
42500 KL
42600 1,RHT
42700
42800 *24 Jul 1972 SAIL DCS,RHT,JRL
42900 LEAP news
43000
43100 1. In the past global model users of LEAP were required
43200 to have the statement:
43300
43400 REQUIRE -1 NEW_ITEMS;
43500
43600 in order to inhibit the allocation of various tables
43700 for the local leap model. This statement is no longer
43800 required. Instead the decision to allocate the tables
43900 will be made using the following criteria. The local model
44000 tables will be allocated only if any of the programs loaded
44100 together to form a single job contain any declared local
44200 items ( that is, any items declared without the attribute
44300 GLOBAL), or any of the programs contain the statement:
44400
44500 REQUIRE n NEW_ITEMS;
44600
44700 where "n" is greater that 0.
44800 NOTE: this means that all users of local model LEAP must now
44900 "require" new_items if they are going to dynamically create
45000 non-global items by using the function NEW.(previously an
45100 implicit REQUIRE 60 NEW_ITEMS was contained in every program).
45200
45300
45400 2. LEAP tables are now allocated as part of the SAIL initialization
45500 code rather than on the first call to any LEAP subroutine.
45600 The tables will be allocated if any of the SAIL programs
45700 loaded contain declared items, itemvars, sets, lists or calls
45800 to LEAP. This change was made so that datums of items could
45900 be utilized before the first call to LEAP.
46000
46100 3. The type codes for items have been altered. The new codes
46200 returned by the TYPEIT function are as follows:
46300
46400 0 - item deleted or never allocated
46500 1 - no type (no datum for this item)
46600 2 - item is bracketed triple
46700 3 - string
46800 4 - real
46900 5 - integer
47000 6 - set
47100 7 - list
47200 8 - procedure
47300 16 - string array
47400 17 - real array
47500 18 - integer array
47600 19 - set array
47700 20 - list array
47800 21 - invalid (runtime has screwed something up)
47900 The very astute user will notice that the only changes are to
48000 up the codes for arrays and invalid by 5.
48100
48200 IMPORTANT NOTE:This unfortunately will necesitate the recompilation
48300 and reloading of any programs which use array items as the RUNTIME
48400 routines also use these type codes.The standard
48500 compiler SAIL on [1,3] will have these changes as of 23:59 WED,
48600 jul26. Therefore if any of your programs use array items you should
48700 recompile them starting Thurs jul 27. Foist all complaints onto
48800 Jim Low.
48900
49000
49100 *25 Jul 1972 SPOOLER REG
49200 SPOOLER NEWS:
49300 The old spooler '*LIST*' has been removed from the system.
49400 Users of the spooling subroutines described in SPSUB.REG[UP,DOC] will
49500 have to reload with the new libraray.
49600
49700 The command SPOOLQ has been removed. Instead, use the command
49800 QSPOOL. This has the advantage that the command can be abbreviated
49900 to one letter and the SPOOL command to two letters.
50000
50100 A new SPOOL command is planned. This will allow users to more
50200 fully utilize features of the new spooler.
50300
50400 *1 Aug 1972 FORTRAN REG
50500 DEC FORTRAN version 25 and LIB40 version 31 have been put up.
50600 Some of the bugs in the compiler / operating system have been
50700 eliminated.
50800
50900 *9 Aug 1972 DATA DISK FW
51000 Two new features have been added to data disk DPYOUT:
51100
51200 1) Overlapped mode, enabled by bit 0 of header word 0.
51300 In this mode, a DPYOUT will return without waiting for
51400 the transfer to be completed (although it will wait
51500 for any previou transfer), enabling the program to
51600 continue running. Header+2 will be set nonzero during
51700 the transfer, and to zero after the transfer is complete,
51800 so testing this is convenient (which should be done before
51900 changing the buffer). A DPYOUT with a zero word count will
52000 wait for a previous transfer without initiating a new one.
52100
52200 2) Double field mode, useful for text output. This is enabled
52300 by bit 1 of header word 0 and will cause the buffer to be
52400 transferred twice, once on each field. Header+3 should specify
52500 the address of the line address command word, which should
52600 contain the low-order line address as the third command in
52700 the word. Bit 24 of this word will be set to the proper
52800 field on each transfer. This feature cannot be used if more
52900 than one low-order line address command is used.
53000
53100 *16 Aug 1972 AP NEWS (APE, HOT) ME
53200
53300 We have a line from the Associated Press (AP) over which we get
53400 national and international news. The news that comes in gets filed
53500 on the disk and saved for about 24 hours.
53600
53700 For use in reading the news, there are two programs on the system.
53800
53900 Type "R HOT" to have the news typed on your console as it comes in.
54000
54100 Type "R APE" to be able to selectively read the news that is on file.
54200 The stories are catagorized by keywords; to read the news, you type
54300 to APE whatever keywords you want to read about. To get help when
54400 you are running APE, type "?" and carriage return at any point. For a
54500 list of the keywords, TYPE the file WORDS.SRT[AP,SYS] or SPOOL the
54600 file WORDS.LST[AP,SYS].
54700
54800 For further information, see the file APE.ME[UP,DOC].
54900
55000
55100 *16 AUG 1972 SAIL MATRIX ROUTINES PACKAGE SHK
55200
55300 Following Matrix Routines Now Available:
55400
55500 1) Real Matrix Multiplication Routine
55600 Multiplies two n-dimensional matrices (2-dimensional arrays)
55700 (size m x n by n x p to get a m x p matrix)
55800 or multiplies a 1-dimensional matrix by an n-dimensional matrix
55900 or an n-dimensional matrix by a 1-dimensional.
56000 MATMUL(REAL ARRAY A[a:b,c:d],REAL ARRAY B[c:d,e:f],REAL ARRAY C[a:b,e:f]);
56100 multiplies A by B and places the result in C
56200 (MATMUL(A,B,A) and MATMUL(A,B,B) are also valid.)
56300 The only thing it won't do (I think) is multiply two 1-dimensional
56400 matrices or n-dimensional arrays (n>2).
56500
56600 2) Array Clear Routine
56700 MATCLR(REAL (or INTEGER) ARRAY A);
56800 Zeros the array A.
56900
57000 3) Real Array Multiplied by a Real Constant
57100 CONMUL(REAL ARRAY A,REAL B);
57200 Multiplies array A by constant B and places the result in A.
57300
57400 All three are available by saying REQUIRE "MATMUL[4,SHK]" LOAD_MODULE;
57500
57600
57700 *30 Aug 1972 UUO SHK
57800 There is now a numerical listing of the UUO's - UUO.SHK[S,DOC]
57900
58000 *4 Sept 1972 AP NEWS (APE, HOT) ME
58100 The AP news is now spooled once a day (at a somewhat random
58200 time). The listing, which will be kept in the conference
58300 room, will indicate a file name of "APNEWS[AP,SYS]".
58400
58500 *4 SEP 1972 FILDMP RPH
58600 New program to list files in different formats. See FILDMP.RPH on UP,DOC.
58700
58800 *4 SEP 1972 NEW SAIL RHT
58900 EFFECTIVE 1201 AM SAT, 26 AUG, A NEW SAIL SYSTEM WILL BE UP. ITS
59000 SEGMENT WILL BE SAISG4. THIS NEW SYSTEM WILL INCLUDE SEVERAL NEW
59100 FEATURES, INCLUDING USER REQUESTED INITIALIZATIONS, A LOCATION(X)
59200 FUNCTION, AN IMPLICIT ARRAY: MEMORY[0:MEMSIZE], THE RUDIMENTS OF
59300 MULTIPLE PROCESSES, AND MUCH MORE. WE WILL TRY TO HAVE SOME
59400 DOCUMENTATION READY BY THE LATTER PART OF THE WEEK.
59500 *22 SEP 1972 NEW SAIL RHT,JRL,KVL
59600 THE NEW SAIL SYSTEM IS UP. THERE ARE MANY NEW FEATURES INCLUDING
59700 MULTIPLE-PROCESSES WITHIN JOBS,EVENTS, A LIMITED FORM OF BACKTRACKING
59800 BETTER FOREACH STATEMENTS, BETTER ERROR RECOVERY ETC.
59900
60000 THE DOCUMENTATION FOR THE NEW FEATURES IS NOT YET AVAILABLE, BUT
60100 EXAMPLES OF THE GLORY OF NEW SAIL ARE CONTAINED IN PAPER.DOC[S,JRL]
60200 NEWFEA.TXT[S,JRL].
60300
60400 THE NEW SYSTEM USES SAISG4, LIBSA4, HLBSA4, AND FOR YOU GLOBAL
60500 MODEL HACKERS GLBS10.
60600
60700 NO SOURCE LANGUAGE INCOMPATIBILITIES ARE KNOWN, BUT OF COURSE
60800 ALL PROGRAMS LOADED TOGETHER SHOULD BE COMPILED WITH THE
60900 NEW COMPILER, AND OLD PROGRAMS SHOULD BE RECOMPILED BEFORE THEYY
61000 ARE RELOADED.
61100
61200
61300 OLD DUMP FILES SHOULD CONTINUE TO RUN FOR A WHILE UNTIL
61400 SAISG3 IS DELETED.
61500
61600 SEND COMPLAINTS AND BUGS TO S,AIL OR SEE JRL,KVL OR RHT
61700 A CURRENT LISTING WILL BE APPRECIATED. BETTER SERVICE
61800 WILL BE GIVEN IF YOU ARE ABLE TO TICKLE THE BUG IN A SMALL
61900 PROGRAM WITHOUT UNREADABLE MACROS.
62000
62100 FOR THE NEXT COUPLE DAYS WE WILL KEEP THE PREVIOUS COMPILER
62200 AROUND AS SAIL.921[1,3], SAILOW.REL AS SAILOW.921, AND
62300 GLBLOW.REL AS GLBLOW.921. IF YOU FEEL YOU ARE BEING
62400 SCREWED BY SOME TERRIBLE BUG, YOU CAN, FOR INSTANCE,
62500 SAY SOMETHING LIKE
62600
62700 R SAIL.921 <CR>
62800 * FOO←FOO <CR>
62900 * LOADER!
63000 * SAILOW.921[1,3],FOO <ALT>
63100
63200 WHERE THE STARS ARE TYPED BY THE SYSTEM
63300
63400 THIS WILL GIVE YOU THE EFFECT OF DOING
63500
63600 LOA /COM FOO
63700
63800 USING THE PREVIOUS SYSTEM.
63900
64000 *22 Sept 1972 Upper Segment RAID and DDT TVR
64100 RAID or DDT may be retrieved from the disk and run from an upper
64200 segment. This means your core image may contain RAID at a much lower
64300 cost (102 octal words instead of 12200 words for RAID). For details
64400 see DEBUG.DOC[1,TVR]
64500
64600 *22 Sept 1972 AP NEWS (APE) ME
64700 Multiple word keywords are now implemented in APE. To use them,
64800 separate the individual words with spaces in your keyword exressions.
64900
65000 Also, to have only the first few lines of each story you select
65100 typed out, type an "F" at the beginning of the story selection
65200 line ("Read which one(s)?"). If you use both "F" and "=" on
65300 the same line, the order is irrelevant. When you use the "F"
65400 feature, you cannot spool or save the stories in a file.
65500
65600 For details on using APE, see the file APE.ME[UP,DOC].
65700
65800 *12 Oct 1972 FAIL TVR
65900 FAIL has been changed to stop at each error and give the option to
66000 continue to next error, continue automatically or to edit. The edit
66100
66200 option will call SOS if there are line numbers and TVED if not. Any
66300 complaints should be sent to TVR. If you don't want to stop at each
66400 error, give FAIL the switch (F). The old version is FAIL.OLD[1,3].
66500 *21 Oct 1972 SAIL JRL,RHT,KVL
66600 A new SAIL compiler has been put up to correct bugs reported in the
66700 last few weeks. There should be no incompatibitlies with the preceding
66800 compiler and programs compiled with the previous compiler should
66900 be runable with programs compiled with the new compiler. Thus, there
67000 is no need to recompile or even reload SAIL programs which have
67100 been compiled since SEPT 21. If you do have a program which
67200 compiled in the last month but doesn't now:
67300 1. REPORT THE PROBLEM TO A SAIL HACKER - or send
67400 a message to AIL, including such details as
67500 where a copy of the offending program is and the
67600 nature of the SAIL bug.
67700 2. You may use the previous compiler by
67800 R SAIL.102
67900 * FOO←FOO
68000 * <call>
68100 where FOO is the name of your sail program and <call>
68200 represents the typing of the CALL button (the stars are
68300 typed by the system). The above sequence is equivalent to
68400 the system level command:
68500
68600 COM /COM FOO
68700
68800 A note to users of multiple processes and matching procedures:
68900 To initialize the multiple process environment the user
69000 should include the following declaration:
69100
69200 EXTERNAL PROCEDURE MAINPR;
69300
69400 He should also make sure this procedure is called before
69500 doing any process sprouting or matching procedure calling.
69600 This is best done by using the REQUIRE INITIALIZATION feature
69700 or by making:
69800 MAINPR;
69900 The first executable statement of your program.
70000 This initialization will be compiled in, in the near future but until
70100 then the above hack is required.
70200 *3 Nov 1972 USER INTERRUPTS FW
70300 The PC stored on a memory protect interrupt via the new-style
70400 user interrupt system is now the exact PC stored by the hardware,
70500 rather than being incremented as it used to be. This is consistent
70600 both with the old-style (DEC) user interrupt system and with the
70700 "ILL MEM REF AT USER xxxxxx" typeout. If you really care about
70800 the exact value of this PC, consult me or the PDP-10 flowcharts,
70900 as it is anything but consistent.
71000 *3 Nov 1972 VIDEO SWITCH FW
71100 The VDSMAP UUO now allows the 6 extra switch channels to be
71200 addressed by setting bit 9 in the AC and putting the channel number
71300 (0-5) in the TTY# field (11-17).
71400
71500 *8 Nov 1972 DUMPS REG
71600 DART, a new program to back up disk files on tapes, is available.
71700 system commands DUMP, RESTORE, TLIST, REWIND, BACKSPACE, ADvANCE all
71800 run DART now, instead of DAEMON (CAUTION: new syntax in some cases).
71900 See DART.REG[UP,DOC].
72000
72100 *8 Nov 1972 PROTECTION REG
72200 The file access protection bit 400, which formerly had no
72300 signifigance, now means 'Dump Never' in DART. All files that had
72400 used this bit have been renamed without it.
72500
72600 *11 Nov 1972 SYSTEM REG
72700 The job table JOBQUE in the system now contains either the positive
72800 or negative value of the queue code of a job. Formerly, it had
72900 always been negative.
73000
73100 *26 Nov 1972 FTP DCS
73200 A new FTP has been installed with the following features:
73300
73400 1) You needn't type the MODE, TYPE, or BYTE commands at all
73500 unless you want to change the defaults of S, I, and 36 resp.
73600 Changing them is inadvisable since we only support those
73700 settings. The defaults will be to the foreign host just
73800 before the first data transfer.
73900
74000 2) RSTR clears any DATA connections that the FTP thinks it has
74100 open. Sometimes it's wrong. If you get an indication from
74200 FTP that a command is illegal because the DATA connection already
74300 exists, do this command. It will go away when hacks in FTP
74400 have been cured.
74500
74600 3) QUOT sends the rest of the line directly over the net, so you
74700 can use it to execute other peoples commands which are either
74800 nonstandard or just unsupported here. This won't do any good
74900 if our end has to be involved in the operation, but it is good
75000 to do things like STAT (status), and HELP at CMU.
75100 See FTP.DCS[UP,DOC] for "complete" information about our FTP,
75200 and NIC document 10596 for complete FTP protocol description.
75300
75400 *26 Nov 1972 MLISP2 DAV
75500 A new version of MLISP2 has been put on the system. An old version
75600 exists and will be around for one week. The main motivation for
75700 the changes was to fix several serious bugs,
75800 and to clean the language up prior to publishing a manual.
75900 Changes:
76000 (1) Variable names can no longer be literals (e.g. IF, FOR, ...).
76100 (2) <IDEXP>, <ADDEDEXPR> have been subsumed by <EXPRESSION>.
76200 (3) SPECIAL variables now must be declared at translation (PARSE)
76300 time. To facilitate this, a new production has been added,
76400 having the form: SPECIAL <identifier_list>
76500 It is strongly suggested that all SPECIAL variables be
76600 declared at the top of the program using this production.
76700 (4) ?# in the syntax (to inhibit scanning) should now be just #.
76800 It no longer takes up a syntax position.
76900 (5) Setting variables in backtracking contexts is now done with
77000 real LISP numbers (formerly machine representation).
77100 A function CONTEXT() gets the current backtracking
77200 context. X{CONTEXT()/10 + 3} ← etc. is now legal.
77300 (6) THE FOLLOWING CHANGE IS TEMPORARY; WILL BE FIXED IN A DAY OR 2:
77400 (*) Prefixes are more restricted in use; the syntax is
77500 <PREFIX> <SIMPEX> as always, but IF, FOR, CASE, etc.
77600 are no longer <SIMPEX>'s but are now full <EXPRESSION>'s.
77700 Thus RETURN IF ..., PRINT CASE ..., etc. no longer work;
77800 use RETURN(IF ..., PRINT(CASE ..., etc.
77900 (7) The syntax of SELECT has been changed. Use SUCCESSOR instead
78000 of NEXT, and FINALLY instead of IN WHICH CASE.
78100 E.g. SELECT CAR(L) FROM L:'(A B C) SUCCESSOR CDR(L)
78200 UNLESS NULL(L) FINALLY FAILURE()
78300 (8) MLISP2.PRI now prints as it goes along, instead of at the end.
78400
78500 *3 Dec 1972 SAIL RHT
78600 A new SAIL system will be put up at 2359 Thursday, 7 Dec 1972
78700 This system will include
78800 (1) Leap revisions by JRL. This means that any programs
78900 that use LEAP should be recompiled.
79000 (2) User required initializations will take place as
79100 the first executable statement of the main
79200 program (after outer block arrays have been
79300 initialized). Programs that are loaded
79400 with any .REL files which have user initializations
79500 should have their main programs recompiled.
79600 (3) Hooks into the user interrupt system have been provided.
79700 Those interested should see Russ Taylor.
79800 (4) A new kind of declaration has been provided:
79900 CLEANUP proc1,proc2,proc3;
80000 Where proc1, etc. are names of (parameterless)
80100 procedures. The effect of a CLEANUP declaration
80200 is to cause the named procedures to be called
80300 whenever the block in which it occurs is exited,
80400 whether by falling through the end, doing a go_to,
80500 or by any other means. These procedures will be
80600 called before any local arrays, sets, or lists are
80700 released. The calls will take place in the order
80800 specified. Thus:
80900
81000 BEGIN
81100 INTEGER I;
81200 PROCEDURE FOO;I←1;
81300 BEGIN
81400 INTEGER ARRAY X[0:I];
81500 PROCEDURE BAZ;OUTSTR(CVS(X[I]);
81600 CLEANUP FOO,BAZ;
81700 :
81800 COMMENT NOW WHEN THIS BLOCK IS EXITED, X[1] WILL
81900 BE PRINTED OUT;
82000
82100 :
82200 END;
82300 END;
82400
82500 (5) various minor modifications to the process stuff.
82600
82700 The new segment is SAISG5.SEG, the libraries are LIBSA5.REL
82800 & HLBSA5.REL.
82900
83000 The old compiler will be SAIL.D07[1,3]
83100
83200 *12 Dec 72 AP NEWS (APE) ME
83300 There is now a full search feature in APE. If you type in a word
83400 that is not in the keyword dictionary, APE will tell you so and ask
83500 you if you wish a "Full search?". If you type Y, the news file will
83600 be searched for the specified keyword. If you type ?, a (complete)
83700 summary of this feature will be typed out (try it!). If you type
83800 anything else, no search will be done. You may interrupt a search in
83900 progress by typing any character. (That means you may not type ahead
84000 during a search.)
84100
84200 Note: Every word not in the dictionary causes a separate search to
84300 take place and will require you to say Y to "Full search?".
84400
84500 Special note: Normally the whole news file is searched, taking 8 to
84600 10 seconds, but if a non-keyword is the second part of an
84700 intersection (eg, NIXON * JJ), then only the necessary stories are
84800 searched.
84900
85000 *12 DEC 72 PUB TES
85100 PUBMAC.DFS[1,3] has been edited to correct an error in INDEX creation.
85200 The old version is PUBMAC.OLD[1,3] for a few weeks.
85300
85400 The PUB manual has been deleted from the disk. The abstract remains
85500 on PUB.TES[S,DOC]. Bound copies are in the SAILON file drawer.
85600
85700 In January, a new-SAIL PUB should be up with several obscure but
85800 annoying bugs removed. Major restrictions and bugs now known:
85900 SEND INDEX ⊂ ... ⊃ must be all on one line
86000 See {PAGE X} must be followed by a non-word-break
86100 such as ) , ; ] .
86200 but definitely not a SPACE
86300 NARROW, WIDEN, VARIABLE only work within a block -- not at top-level.
86400 TURN OFF "}" inside blocks doesn't always work right (just for "}")
86500 ↓_abc_abc_abc_↓ seems not to work right in FILL mode someplaces.
86600 Footnotes hack a lot, esp. if the page fills up during one.
86700
86800 *23 Jan 73 AP NEWS (APE) ME
86900 A new version of APE has been put on the system. The new APE
86925 includes several changes to input formats, particularly where file or
86950 spooler output is desired. The file APE.ME[UP,DOC] has been updated
86975 to explain all the new features in detail. You should read that
87000 file, especially pages 4 to 12, before trying to run APE.
87025 Alternatively, you can type a question mark (and carriage return) to
87050 APE at any time to get help. Here are some of the main changes.
87075
87100 All input lines must now be ended with carriage returns (this
87125 includes the "Y" to cause a search).
87150
87175 Input to APE from a command file is now possible (and easy/fun). The
87200 command file should have the name APE.CMD to be most convenient, but
87225 any file name is legal as is (almost) any text file format (SOS, TV,
87250 E, etc.).
87275
87300 A "CHOOSE" feature has been added to allow you to see the beginning
87325 of each story and then decide if you want to see the rest of the
87350 story.
87375
88800 To get output to a file, you say
88900 <filename> ←
89000 followed by the usual story selection specification.
89100
89200 To get output to the spooler, you add an "S" to the selection line.
89225
89250 To avoid having stories typed out, for instance when they are being
89275 spooled, add a "D" (meaning Dont type 'em) to the selection line.
89300
89310 [ESC] I will interrupt searches as well as typeouts now.
89320
89325 A couple of features are written up in the documentation although
89350 they are not yet implemented. (The writeups do say of course that
89375 these features are unimplemented.) The features are: 1) AUTOMATIC
89400 NOTIFICATION, whereby you can be notified whenever a story comes in
89425 that matches a keyword expression you have specified; and 2) typeout
89450 of the keywords by which a story has been categorized. These
89475 features are written up in the hope that you will read the
89500 descriptions now and will understand the features when they are
89525 implemented.
89530
89555 *28 Jan 73 SAIL JRL
89580
89605 The item NIC returnedby INTERROGATE when the notice queue is empty,
89630 is now the same as the item UNBOUND used in ? FOREACHES and
89655 matching procedures.
89680 i.e.
89705 (NIC=UNBOUND) is TRUE
89730
89755 UNBOUND has a new name BINDIT since we felt the name UNBOUND had
89780 erroneous connotations.
89805
89830 Both NIC and UNBOUND will be allowed for a while, but you should
89855 replace them with BINDIT in your source-files.
89880
89905 Because of these changes programs using NIC, UNBOUND should be
89930 recompiled.
89955
89980 ANY is now an item (though it can't be used in MAKE statements).
90005
90030 So you may now say:
90055 ITMVR ← ANY;
90080 ERASE A⊗B≡ ITMVR;
90105 which will have the same effect as
90130 ERASE A⊗B≡ANY;
90155 ANY may be an element of a set or list.
90180 All itemvars are originally initialized to ANY.
90280
90380 *1 Feb 73 AP NEWS (APE) ME
90480 The keyword listing feature has now been implemented. Add a "W" to
90580 the selection line to have the keywords of each story typed out ahead
90680 of the story.
90780